package com.woniuxy.carlife.carlifeuserweb.controller;


import cn.hutool.core.util.ObjectUtil;
import com.sun.org.apache.regexp.internal.RE;
import com.woniuxy.carlife.carlifecommonsweb.exception.CarlifeGlobalException;
import com.woniuxy.carlife.carlifecommonsweb.responsetemplate.Result;
import com.woniuxy.carlife.carlifecommonsweb.responsetemplate.StatusCode;
import com.woniuxy.carlife.carlifecommonsweb.util.JwtUtil;
import com.woniuxy.carlife.carlifeuserweb.entity.Statistics;
import com.woniuxy.carlife.carlifeuserweb.service.StatisticsService;
import com.woniuxy.carlife.carlifeuserweb.util.StatusMessageEnum;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.annotation.Resource;

/**
 * @author zjq
 * @ClassName:StatisticsController
 * @Description:用户收藏
 * @date 2021/4/6 20:02
 **/
//
//@RestController
//@Slf4j
//@Api(tags = "用户数据统计接口信息")//用于描述接口类的相关信息，作用于类上
//@RequestMapping("/statistics")
public class StatisticsController {
//
//    @Resource
//    StatisticsService statisticsService;
//
//
//
//    /*
//     * 功能描述〈查询数据统计〉
//     * @author:zjq
//     * @param:
//     * @return:
//     * @Date 2021/4/10 14:41
//     * @throws
//     */
//
//    //@ApiOperation用于描述接口方法，作用于方法上
//    @ApiOperation(value = "查询用户数据统计（解析token获取）")
//    @GetMapping("/ordinary/findStatisticsByUserId")
//    public Result findStatisticsByUserId() {
//        ServletRequestAttributes sra =
//                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        String token = sra.getRequest().getHeader("token");
//        JwtUtil jwtUtil = new JwtUtil();
//        Claims claims = jwtUtil.parseTokenOrdinary(token);
//        if (claims == null) {
//
//            return new Result(false, StatusCode.NOT_LOGGED_IN, StatusMessageEnum.NOT_LOGGED_IN.toString());
//        }
//        Object o = claims.get("token");
//        Integer tokenUserId = Integer.valueOf(String.valueOf(o));
//
//        if (tokenUserId != null && tokenUserId != 0) {
//            Statistics statisticsByUserId = statisticsService.findStatisticsByUserId(tokenUserId);
//            return ObjectUtil.isNull(statisticsByUserId) ?
//                    new Result(false, StatusCode.QUERY_IS_EMPTY, StatusMessageEnum.QUERY_IS_EMPTY.toString())
//                    : new Result(true, StatusCode.SEARCH_SUCCESSFUL, StatusMessageEnum.SEARCH_SUCCESSFUL.toString(), statisticsByUserId);
//        }
//        return new Result(false, StatusCode.CAN_NOT_BE_EMPTY, StatusMessageEnum.CAN_NOT_BE_EMPTY.toString());
//    }
//
//    /*
//     * 功能描述〈修改收藏数〉
//     * @author:zjq
//     * @param:
//     * @return:
//     * @Date 2021/4/10 14:45
//     * @throws
//     */
//
//    //@ApiOperation用于描述接口方法，作用于方法上
//    @ApiOperation(value = "修改收藏数（解析token获取）点击收藏按钮数量增加")
//    @GetMapping("/ordinary/modifyFavorites")
//    public Result modifyFavorites() {
//        ServletRequestAttributes sra =
//                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        String token = sra.getRequest().getHeader("token");
//        JwtUtil jwtUtil = new JwtUtil();
//        Claims claims = jwtUtil.parseTokenOrdinary(token);
//        if (claims == null) {
//
//            return new Result(false, StatusCode.NOT_LOGGED_IN, StatusMessageEnum.NOT_LOGGED_IN.toString());
//        }
//        Object o = claims.get("token");
//        Integer tokenUserId = Integer.valueOf(String.valueOf(o));
//
//        if (tokenUserId != null && tokenUserId != 0) {
//            log.info("开始修改收藏数");
//            boolean b = statisticsService.modifyFavorites(tokenUserId);
//            log.info("开始修改收藏数完毕");
//            return b ?
//                    new Result(true, StatusCode.SUCCESSFULLY_MODIFIED, StatusMessageEnum.SUCCESSFULLY_MODIFIED.toString())
//                    : new Result(false, StatusCode.FAIL_TO_EDIT, StatusMessageEnum.FAIL_TO_EDIT.toString());
//
//        }
//        return new Result(false, StatusCode.CAN_NOT_BE_EMPTY, StatusMessageEnum.CAN_NOT_BE_EMPTY.toString());
//    }
//
//    /*
//     * 功能描述〈修改购物车数〉
//     * @author:zjq
//     * @param:
//     * @return:
//     * @Date 2021/4/10 14:45
//     * @throws
//     */
//
//    //@ApiOperation用于描述接口方法，作用于方法上
//    @ApiOperation(value = "修改修改购物车数（解析token获取）点击加入购物车按钮数量增加")
//    @GetMapping("/ordinary/modifyShoppingCart")
//    public Result modifyShoppingCart() {
//        ServletRequestAttributes sra =
//                (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        String token = sra.getRequest().getHeader("token");
//        JwtUtil jwtUtil = new JwtUtil();
//        Claims claims = jwtUtil.parseTokenOrdinary(token);
//        if (claims == null) {
//
//            return new Result(false, StatusCode.NOT_LOGGED_IN, StatusMessageEnum.NOT_LOGGED_IN.toString());
//        }
//        Object o = claims.get("token");
//        Integer tokenUserId = Integer.valueOf(String.valueOf(o));
//
//        if (tokenUserId != null && tokenUserId != 0) {
//            log.info("开始修改购物车数");
//            boolean b = statisticsService.modifyShoppingCart(tokenUserId);
//            log.info("开始修改购物车数");
//            return b ?
//                    new Result(true, StatusCode.SUCCESSFULLY_MODIFIED, StatusMessageEnum.SUCCESSFULLY_MODIFIED.toString())
//                    : new Result(false, StatusCode.FAIL_TO_EDIT, StatusMessageEnum.FAIL_TO_EDIT.toString());
//
//        }
//        return new Result(false, StatusCode.CAN_NOT_BE_EMPTY, StatusMessageEnum.CAN_NOT_BE_EMPTY.toString());
//    }


}

